package com.zc.timedown.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 今日计划项VO对象
 */

@Data
@ApiModel("今日计划子项")
public class TodayPlanItemVo {

    /** 主键 */
    @ApiModelProperty(value = "今日计划子项ID", example = "1")
    private Long id;

    /** 外键：关联 today_goal.id */
    @ApiModelProperty(value = "外键：关联 today_goal.id")
    private Long goalId;

    /** 是否已完成（0=未完成，1=已完成） */
    @ApiModelProperty(value = "是否已完成", notes = "0=未完成，1=已完成")
    private Integer isCompleted;

    /** 完成时间 */
    @ApiModelProperty(value = "完成时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime completedTime;

    /** 目标名称（如：背单词50个） */
    @ApiModelProperty(value = "目标名称", example = "背单词50个")
    private String name;

    /** 目标描述（详细说明） */
    @ApiModelProperty(value = "目标描述", example = "详细说明")
    private String description;

    /** 分类标签（如：学习/健康/娱乐） */
    @ApiModelProperty(value = "分类标签", example = "学习/健康/娱乐")
    private String category;

    private String typeName;

    /** 图标（可以是emoji或前端图标class） */
    @ApiModelProperty(value = "图标", example = "可以是emoji或前端图标class")
    private String icon;

    /** 图片序号（对应预设背景图编号，从0开始） */
    @ApiModelProperty(value = "图片序号", notes = "对应预设背景图编号，从0开始")
    private Long imageIndex;

    /** 是否启用（0=停用，1=启用） */
    @ApiModelProperty(value = "是否启用", notes = "0=停用，1=启用")
        private Integer isEnabled;

    /** 排序权重（越大越靠前） */
    @ApiModelProperty(value = "排序权重", notes = "越大越靠前")
    private Long sortOrder;

    /** 所属用户ID */
    @ApiModelProperty(value = "所属用户ID")
    private Long userId;

}
